1. Technical Field
The present invention relates to an improved method and system for rendering computer images, and in particular to a method and system for enhancing the real-time image quality of interactive graphics applications. More particularly, the present invention relates to improving the quality of rendered graphics images by balancing the rendering load imposed on an interactive graphics processor with anticipated user activity. Still more particularly, the present invention relates to maximizing the visual quality of rendered images by dynamically selecting from among rendering engines such that the amount of computation required to render using the selected mode is compatible with the current processing load.
2. Description of the Related Art
Interactive graphics applications require visual responses to user input in the form of computer rendered images. Computer rendering generally involves creating an image utilizing both modeling and rendering tools. Common modeling applications include CAD systems. The process of rendering a modeled image requires a numeric description of geometric and other visual attributes of a model within a computer program. In addition, information not generally provided by the modeling application such as lighting, and surface attributes such as color, reflective properties, and texture are also required.
The success or failure of a rendering process may be judged in terms of the visual effect presented to the user of the interactive application. In this context, the ultimate goal in rendering a computer model is not just the image quality. There are several other parameters that must be taken into account in order to evaluate image rendering. These include system-dependent factors such as the smoothness of animated motion and timely responses to user input, and also frame quality parameters such as the level of antialiasing.
In an interactive graphics system such as a videogame application, the major load imposed on the processor is that required for rendering images on a visual display device. During periods when user input increases, the processor may have insufficient processing resources for properly rendering the images at the pace dictated by the user. Such processor overload may cause omission of some xe2x80x9cscenesxe2x80x9d, thus resulting in jerky animation. Another possible symptom of user input outpacing processing capacity is a generally sluggish image rendering response.
On the other hand, when the user input activity is minimal, the processor is underutilized, thus resulting in a less-than-optimum image quality presented to the user. Applications designed to operate on graphics systems must therefore compromise image quality to ensure a baseline adequate interactive graphics presentation. Conventional interactive graphics applications have relied on carefully selecting a design point for rendering images which balances predicted user activity levels against the processing load required for rendering images in a satisfactory manner.
This single-point balancing is unsatisfactory in light of several factors. First, the intensity of user input into an interactive graphics application will have a vast variation not only among individuals of varying aptitudes, but also for an individual as he or she becomes more proficient. In addition there is a wide variation in the processing capacity of data processing systems on which interactive graphics systems are installed and utilized.
From the foregoing, it can be appreciated that a need exists for a method and system in which the rendered image quality may be dynamically adjusted in accordance with real-time processing load.
It is therefore an object of the invention to provide an improved method and system for rendering computer images.
It is another object of the invention to provide a method and system for enhancing the real-time image quality of interactive graphics applications.
It is a further object of the invention to improve the quality of rendered graphics images by balancing the rendering load imposed on an interactive graphics processor with anticipated user activity.
It is yet another object of the present invention to maximize the visual quality of rendered images by dynamically selecting from among rendering engines such that the amount of computation required to render using the selected mode is compatible with the current processing load.
The above and other objects are achieved as is now described. A method and system are disclosed for enhancing image quality while operating an interactive graphics application within a data processing system. First, the image rendering speed for each of the rendering modes available within the interactive graphics application are assessed. Upon initial operation of the interactive graphics system, a default rendering mode is activated. During operation of the interactive graphics application, the processing load imposed on the data processing system is monitored and utilized as a user activity metric. The rendering mode utilized is changed in accordance with the user activity metric, such that the computation required to render using the selected mode is compatible with the current processing load.